Benvenuto nella Lezione 7, in cui presentiamo Apprendimento Trasferito. Questa tecnica consiste nel riutilizzare un modello di apprendimento profondo già addestrato su un vasto dataset generico (come ImageNet) e adattarlo per risolvere un compito nuovo e specifico (come la nostra sfida FoodVision). È fondamentale per ottenere risultati all'avanguardia in modo efficiente, soprattutto quando i dataset etichettati sono limitati.
1. Il Potere dei Pesi Pre-addestrati
I reti neurali profonde imparano le caratteristiche in modo gerarchico. I livelli inferiori imparano concetti fondamentali (bordi, angoli, texture), mentre i livelli più profondi combinano queste informazioni in concetti complessi (occhi, ruote, oggetti specifici). L'idea chiave è che le caratteristiche fondamentali apprese all'inizio sono universalmente applicabiliapplicabili in gran parte dei domini visivi.
Componenti dell'Apprendimento Trasferito
- Compito di Origine: Addestramento su 14 milioni di immagini e 1000 categorie (ad esempio, ImageNet).
- Compito Obiettivo: Adattamento dei pesi per classificare un dataset molto più piccolo (ad esempio, le nostre categorie specifiche FoodVision).
- Componente Sfruttato: La grande maggioranza dei parametri della rete — gli strati di estrazione delle caratteristiche — viene riutilizzata direttamente.
Esegui il codice per ispezionare i tensori attivi
La dimensione in ingresso delle caratteristiche deve corrispondere all'uscita dello strato base bloccato.
Dimensione: 512.
La dimensione di uscita di 512 è l'input, e il conteggio delle classi 7 è l'output.
Codice:
new_layer = torch.nn.Linear(512, 7)La dimensione in uscita delle caratteristiche deve corrispondere al numero di classi obiettivo.
Dimensione: 7.